Java中比較常見的有以下這幾種Primitive資料型態
而下面這三個是Reference資料結構
因為之前學過C, C++,目前看起來是覺得大同小異,看起來比較有變化的是原本C++寫bool要改成寫boolean了
Java在輸出的部分不需要借助任何import檔,但在接收輸入的部分則需要用到Scanner這個函式庫(我不確定Java這邊叫甚麼,我暫時先叫他函式庫好了)
下面是創建Scanner的方式
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner();
}
}
以我當前的理解詳細展開如下 (如果理解有問題還請指正!)
Scanner(物件) scanner(變數名稱) = new(分配一塊資源) Scanner()(呼叫Scanner這個物件的default constructor);
接著有了scanner這個物件之後,就可以用它來取得使用者的輸入
int num = scanner.nextInt(); // 讀取一個int
double score = scanner.nextDouble(); // 讀取一個double
char currency = scanner.nextChar(); // 讀取一個char
boolean isStudent = scanner.nextBoolean(); // 讀取一個boolean
// 使用完scanner之後要記得把scanner關閉,以免造成意外錯誤
scanner.close();
也就是+ - * / %,這些基本上是跟學過相同的
以及 = == += -= ++ -- 這些,目前用起來還沒遇到問題
用法也幾乎是一樣的
if(判斷式){
// 成立時的statement
}
else if(判斷式2){
// 成立時的statement
}
else{
// 否則的statement
}
之前在學C++時覺得用隨機數好麻煩,要宣告engine還有distribution的,Java的隨機數反而簡單很多
import java.util.Random;
// 在main function中:
Random random = new Random(); // 這樣子就宣告完random這個物件了,括弧內可以放入seed
int number1 = random.nextInt(); // 範圍界值 -2^31~2^31-1
int number2 = random.nextInt(1, 7); // 範圍界值 1~6(右邊是開區間)
double number3 = random.nextDouble(); // 範圍界值 0~1
boolean isHead = random.nextBoolean(); // 生成0或1,可用於投硬幣
今天是學習Java基本語法的第一天,整體來看目前沒有遇到很多困難,只有Scanner的用法需要記一下,然後Random的宣告方式也跟Scanner一樣。
然後發現今天學到的兩個import的東西都跟java.util這個檔案有關,以及import的"內容"開頭會大寫(例如'S'canner,'R'andom)
今天學得很快樂,明天繼續!